let jwt = require('jsonwebtoken');

module.exports = () => {
    return async (ctx,next) => {
        
        //1.有需校验token 不需要校验token

        let blackPath = ['/api/addOrder','/api/orderList'];

        if(blackPath.includes(ctx.path)){
            //需要校验
            let token = ctx.get('token');
            try{    
                ctx.info = jwt.verify(token,'lixd');
                console.log(ctx.info)
                await next();
            }catch(e){
                //区分报错   token 和其他
                if(e.name === 'TokenExpiredError'|| e.name === 'JsonWebTokenError') {
                    ctx.status = 401;
                    ctx.body = {
                        code:4,
                        msg:'token有误'
                    }
                }else{
                    ctx.body = {
                        code:0,
                        msg:e
                    }
                }
            }
        }else{
            //不需要校验
            await next();
        }
    }
}

//1.分类 表的创建  树
//2.登录 token 鉴权
//3.下单
//4.根据经分类查找对应的商品列表

//1.分类表  2.商品表  3.用户表  4.订单表

//从navicate里面导出表?如何导入表？

